from typing import Any, Tuple, Union

def array(object: Any, dtype: Any = None, copy: bool = True, order: str = 'K', subok: bool = False, ndmin: int = 0) -> Any: ...
def zeros(shape: Union[int, Tuple[int, ...]], dtype: Any = None, order: str = 'C') -> Any: ...
def ones(shape: Union[int, Tuple[int, ...]], dtype: Any = None, order: str = 'C') -> Any: ...
def empty(shape: Union[int, Tuple[int, ...]], dtype: Any = None, order: str = 'C') -> Any: ...
def arange(start: Any, stop: Any = None, step: Any = None, dtype: Any = None) -> Any: ...
def linspace(start: Any, stop: Any, num: int = 50, endpoint: bool = True, retstep: bool = False, dtype: Any = None, axis: int = 0) -> Any: ...
class random:
    @staticmethod
    def normal(mean: float = 0.0, std: float = 1.0, size: Any = None) -> Any: ...
    @staticmethod
    def rand(*args: Any) -> Any: ...
    @staticmethod
    def randn(*args: Any) -> Any: ...
    @staticmethod
    def randint(low: int, high: Any = None, size: Any = None, dtype: Any = None) -> Any: ...
    @staticmethod
    def random(size: Any = None) -> Any: ...
    @staticmethod
    def choice(a: Any, size: Any = None, replace: bool = True, p: Any = None) -> Any: ...
    @staticmethod
    def bytes(length: int) -> Any: ...
    @staticmethod
    def shuffle(x: Any) -> None: ...
    @staticmethod
    def permutation(x: Any) -> Any: ...
    @staticmethod
    def beta(a: Any, b: Any, size: Any = None) -> Any: ...
    @staticmethod
    def binomial(n: Any, p: Any, size: Any = None) -> Any: ...
    @staticmethod
    def chisquare(df: Any, size: Any = None) -> Any: ...
    @staticmethod
    def dirichlet(alpha: Any, size: Any = None) -> Any: ...
    @staticmethod
    def exponential(scale: float = 1.0, size: Any = None) -> Any: ...
    @staticmethod
    def f(dfnum: Any, dfden: Any, size: Any = None) -> Any: ...
    @staticmethod
    def gamma(shape: Any, scale: float = 1.0, size: Any = None) -> Any: ...
    @staticmethod
    def geometric(p: Any, size: Any = None) -> Any: ...
    @staticmethod
    def gumbel(loc: float = 0.0, scale: float = 1.0, size: Any = None) -> Any: ...
    @staticmethod
    def hypergeometric(ngood: Any, nbad: Any, nsample: Any, size: Any = None) -> Any: ...
    @staticmethod
    def laplace(loc: float = 0.0, scale: float = 1.0, size: Any = None) -> Any: ...
    @staticmethod
    def logistic(loc: float = 0.0, scale: float = 1.0, size: Any = None) -> Any: ...
    @staticmethod
    def lognormal(mean: float = 0.0, sigma: float = 1.0, size: Any = None) -> Any: ...
    @staticmethod
    def logseries(p: Any, size: Any = None) -> Any: ...
    @staticmethod
    def multinomial(n: Any, pvals: Any, size: Any = None) -> Any: ...
    @staticmethod
    def multivariate_normal(mean: Any, cov: Any, size: Any = None, check_valid: str = 'warn', tol: float = 1e-8) -> Any: ...
    @staticmethod
    def negative_binomial(n: Any, p: Any, size: Any = None) -> Any: ...
    @staticmethod
    def noncentral_chisquare(df: Any, nonc: Any, size: Any = None) -> Any: ...
    @staticmethod
    def noncentral_f(dfnum: Any, dfden: Any, nonc: Any, size: Any = None) -> Any: ...
    @staticmethod
    def pareto(a: Any, size: Any = None) -> Any: ...
    @staticmethod
    def poisson(lam: float = 1.0, size: Any = None) -> Any: ...
    @staticmethod
    def power(a: Any, size: Any = None) -> Any: ...
    @staticmethod
    def rayleigh(scale: float = 1.0, size: Any = None) -> Any: ...
    @staticmethod
    def standard_cauchy(size: Any = None) -> Any: ...
    @staticmethod
    def standard_exponential(size: Any = None) -> Any: ...
    @staticmethod
    def standard_gamma(shape: Any, size: Any = None) -> Any: ...
    @staticmethod
    def standard_normal(size: Any = None) -> Any: ...
    @staticmethod
    def standard_t(df: Any, size: Any = None) -> Any: ...
    @staticmethod
    def triangular(left: Any, mode: Any, right: Any, size: Any = None) -> Any: ...
    @staticmethod
    def uniform(low: float = 0.0, high: float = 1.0, size: Any = None) -> Any: ...
    @staticmethod
    def vonmises(mu: Any, kappa: Any, size: Any = None) -> Any: ...
    @staticmethod
    def wald(mean: Any, scale: Any, size: Any = None) -> Any: ...
    @staticmethod
    def weibull(a: Any, size: Any = None) -> Any: ...
    @staticmethod
    def zipf(a: Any, size: Any = None) -> Any: ...

def exp(x: Any) -> Any: ...
def log(x: Any) -> Any: ...
def sin(x: Any) -> Any: ...
def cos(x: Any) -> Any: ...
def tan(x: Any) -> Any: ...
def sum(a: Any, axis: Any = None, dtype: Any = None, out: Any = None, keepdims: bool = False) -> Any: ...
def mean(a: Any, axis: Any = None, dtype: Any = None, out: Any = None, keepdims: bool = False) -> Any: ...
def std(a: Any, axis: Any = None, dtype: Any = None, out: Any = None, ddof: int = 0, keepdims: bool = False) -> Any: ...
def var(a: Any, axis: Any = None, dtype: Any = None, out: Any = None, ddof: int = 0, keepdims: bool = False) -> Any: ...
def min(a: Any, axis: Any = None, out: Any = None, keepdims: bool = False) -> Any: ...
def max(a: Any, axis: Any = None, out: Any = None, keepdims: bool = False) -> Any: ...
def argmin(a: Any, axis: Any = None, out: Any = None) -> Any: ...
def argmax(a: Any, axis: Any = None, out: Any = None) -> Any: ...
def dot(a: Any, b: Any, out: Any = None) -> Any: ...
def matmul(a: Any, b: Any, out: Any = None) -> Any: ...
def transpose(a: Any, axes: Any = None) -> Any: ...
def reshape(a: Any, newshape: Any) -> Any: ...
def concatenate(tup: Any, axis: int = 0, out: Any = None) -> Any: ...
def stack(tup: Any, axis: int = 0, out: Any = None) -> Any: ...
def vstack(tup: Any) -> Any: ...
def hstack(tup: Any) -> Any: ...
def dstack(tup: Any) -> Any: ...
def split(ary: Any, indices_or_sections: Any, axis: int = 0) -> Any: ...
def vsplit(ary: Any, indices_or_sections: Any) -> Any: ...
def hsplit(ary: Any, indices_or_sections: Any) -> Any: ...
def dsplit(ary: Any, indices_or_sections: Any) -> Any: ...
def sort(a: Any, axis: int = -1, kind: str = 'quicksort', order: Any = None) -> Any: ...
def argsort(a: Any, axis: int = -1, kind: str = 'quicksort', order: Any = None) -> Any: ...
def unique(ar: Any, return_index: bool = False, return_inverse: bool = False, return_counts: bool = False, axis: Any = None) -> Any: ...
def where(condition: Any, x: Any = None, y: Any = None) -> Any: ...
def all(a: Any, axis: Any = None, out: Any = None, keepdims: bool = False) -> Any: ...
def any(a: Any, axis: Any = None, out: Any = None, keepdims: bool = False) -> Any: ...
def isnan(x: Any) -> Any: ...
def isinf(x: Any) -> Any: ...
def isfinite(x: Any) -> Any: ...
def abs(x: Any) -> Any: ...
def sign(x: Any) -> Any: ...
def sqrt(x: Any) -> Any: ...
def square(x: Any) -> Any: ...
def power(x1: Any, x2: Any) -> Any: ...
def clip(a: Any, a_min: Any, a_max: Any, out: Any = None) -> Any: ...
def round(a: Any, decimals: int = 0, out: Any = None) -> Any: ...
def floor(x: Any) -> Any: ...
def ceil(x: Any) -> Any: ...
def trunc(x: Any) -> Any: ...
def prod(a: Any, axis: Any = None, dtype: Any = None, out: Any = None, keepdims: bool = False) -> Any: ...
def cumprod(a: Any, axis: Any = None, dtype: Any = None, out: Any = None) -> Any: ...
def cumsum(a: Any, axis: Any = None, dtype: Any = None, out: Any = None) -> Any: ...
def diff(a: Any, n: int = 1, axis: int = -1) -> Any: ...
def gradient(f: Any, *varargs: Any, **kwargs: Any) -> Any: ...
def cross(a: Any, b: Any, axisa: int = -1, axisb: int = -1, axisc: int = -1, axis: Any = None) -> Any: ...
def trapz(y: Any, x: Any = None, dx: float = 1.0, axis: int = -1) -> Any: ...
def meshgrid(*xi: Any, **kwargs: Any) -> Any: ...
def roll(a: Any, shift: Any, axis: Any = None) -> Any: ...
def rot90(m: Any, k: int = 1, axes: Tuple[int, int] = (0, 1)) -> Any: ...
def flip(m: Any, axis: Any = None) -> Any: ...
def fliplr(m: Any) -> Any: ...
def flipud(m: Any) -> Any: ...
def expand_dims(a: Any, axis: Any) -> Any: ...
def squeeze(a: Any, axis: Any = None) -> Any: ...
def broadcast_to(array: Any, shape: Any) -> Any: ...
def broadcast_arrays(*args: Any) -> Any: ...
def atleast_1d(*arys: Any) -> Any: ...
def atleast_2d(*arys: Any) -> Any: ...
def atleast_3d(*arys: Any) -> Any: ...
def vander(x: Any, N: Any = None, increasing: bool = False) -> Any: ...
def histogram(a: Any, bins: Any = 10, range: Any = None, weights: Any = None, density: bool = False) -> Any: ...
def histogram2d(x: Any, y: Any, bins: Any = 10, range: Any = None, weights: Any = None, density: bool = False) -> Any: ...
def histogramdd(sample: Any, bins: Any = 10, range: Any = None, weights: Any = None, density: bool = False) -> Any: ...
def bincount(x: Any, weights: Any = None, minlength: int = 0) -> Any: ...
def digitize(x: Any, bins: Any, right: bool = False) -> Any: ...
def correlate(a: Any, v: Any, mode: str = 'valid') -> Any: ...
def convolve(a: Any, v: Any, mode: str = 'full') -> Any: ...
def outer(a: Any, b: Any, out: Any = None) -> Any: ...
def tensordot(a: Any, b: Any, axes: Any = 2) -> Any: ...
def einsum(subscripts: str, *operands: Any, out: Any = None, dtype: Any = None, order: str = 'K', casting: str = 'safe', optimize: Any = False) -> Any: ...
class linalg:
    @staticmethod
    def cholesky(a: Any) -> Any: ...
    @staticmethod
    def det(a: Any) -> Any: ...
    @staticmethod
    def eig(a: Any) -> Any: ...
    @staticmethod
    def eigvals(a: Any) -> Any: ...
    @staticmethod
    def eigh(a: Any, UPLO: str = 'L') -> Any: ...
    @staticmethod
    def eigvalsh(a: Any, UPLO: str = 'L') -> Any: ...
    @staticmethod
    def inv(a: Any) -> Any: ...
    @staticmethod
    def lstsq(a: Any, b: Any, rcond: Any = None) -> Any: ...
    @staticmethod
    def matrix_power(a: Any, n: int) -> Any: ...
    @staticmethod
    def matrix_rank(M: Any, tol: Any = None) -> Any: ...
    @staticmethod
    def norm(x: Any, ord: Any = None, axis: Any = None, keepdims: bool = False) -> Any: ...
    @staticmethod
    def pinv(a: Any, rcond: Any = 1e-15, hermitian: bool = False) -> Any: ...
    @staticmethod
    def qr(a: Any, mode: str = 'reduced') -> Any: ...
    @staticmethod
    def slogdet(a: Any) -> Any: ...
    @staticmethod
    def solve(a: Any, b: Any) -> Any: ...
    @staticmethod
    def svd(a: Any, full_matrices: bool = True, compute_uv: bool = True, hermitian: bool = False) -> Any: ...
    @staticmethod
    def tensorinv(a: Any, ind: Any = 2) -> Any: ...
    @staticmethod
    def tensorsolve(a: Any, b: Any, axes: Any = None) -> Any: ...

class fft:
    @staticmethod
    def fft(a: Any, n: Any = None, axis: int = -1, norm: Any = None) -> Any: ...
    @staticmethod
    def ifft(a: Any, n: Any = None, axis: int = -1, norm: Any = None) -> Any: ...
    @staticmethod
    def fft2(a: Any, s: Any = None, axes: Any = (-2, -1), norm: Any = None) -> Any: ...
    @staticmethod
    def ifft2(a: Any, s: Any = None, axes: Any = (-2, -1), norm: Any = None) -> Any: ...
    @staticmethod
    def fftn(a: Any, s: Any = None, axes: Any = None, norm: Any = None) -> Any: ...
    @staticmethod
    def ifftn(a: Any, s: Any = None, axes: Any = None, norm: Any = None) -> Any: ...
    @staticmethod
    def rfft(a: Any, n: Any = None, axis: int = -1, norm: Any = None) -> Any: ...
    @staticmethod
    def irfft(a: Any, n: Any = None, axis: int = -1, norm: Any = None) -> Any: ...
    @staticmethod
    def rfft2(a: Any, s: Any = None, axes: Any = (-2, -1), norm: Any = None) -> Any: ...
    @staticmethod
    def irfft2(a: Any, s: Any = None, axes: Any = (-2, -1), norm: Any = None) -> Any: ...
    @staticmethod
    def rfftn(a: Any, s: Any = None, axes: Any = None, norm: Any = None) -> Any: ...
    @staticmethod
    def irfftn(a: Any, s: Any = None, axes: Any = None, norm: Any = None) -> Any: ...
    @staticmethod
    def hfft(a: Any, n: Any = None, axis: int = -1, norm: Any = None) -> Any: ...
    @staticmethod
    def ihfft(a: Any, n: Any = None, axis: int = -1, norm: Any = None) -> Any: ...
    @staticmethod
    def fftfreq(n: int, d: float = 1.0) -> Any: ...
    @staticmethod
    def rfftfreq(n: int, d: float = 1.0) -> Any: ...
    @staticmethod
    def fftshift(x: Any, axes: Any = None) -> Any: ...
    @staticmethod
    def ifftshift(x: Any, axes: Any = None) -> Any: ...
